﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Security.Cryptography.X509Certificates;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
using System.Diagnostics.Contracts;

namespace 练习p3
{
    //public class da
    //{
    //    public static void Main(string[] args)
    //    {
    //        Queue<int> queue = new Queue<int>() //容量为100的队列
    //        {

    //        };
    //        queue.Enqueue(1); // 入队 // 入队
    //        queue.Enqueue(2); // 入队// 入队
    //        queue.Enqueue(4); // 入队// 入队
    //        queue.Enqueue(5); // 入队// 入队
    //        queue.Enqueue(3); // 入队// 入队

    //        Console.WriteLine("原始队列: " + string.Join(", ", queue));
    //        List<int> list2 = queue.ToList(); // 转换为列表
    //        Console.WriteLine(string.Join(", ", list2));
    //        if (list2.Contains(3))
    //        {
    //            list2.Remove(3); // 移除元素
    //        }
    //        int c=0;

    //        for (int i = 0; i < list2.Count; i++)
    //        {
    //            if (list2[i] == 5) list2[i] = 7;
    //        }

    //        //list2.RemoveAll(x1 => x1 == 5);

    //        Console.WriteLine(c.ToString());
    //        queue =new Queue<int>(list2); // 转换为队列
    //        foreach (int i in queue)
    //        {
    //            Console.Write(" " + i); // 输出队列中的元素 // 输出队列中的元素
    //        }

    //    }
    //}

    //public class sdaw
    //{

    //    public static int[] ee = new int[]{1,2,3,4,5 };

    //    public static Func<int,bool> action = null;

    //    public static IEnumerable<int> v;

    //    public static void Main(string[] args)
    //    {
    //        action += i => i >= 2;
    //        v = vv(action);
    //        foreach(int i in v)
    //        {
    //            Console.WriteLine(i);
    //        }
    //    }

    //    public static IEnumerable<int> vv(Func<int,bool> action)
    //    {
    //        foreach(int i in ee)
    //        {
    //            Thread.Sleep(1000);
    //            if(action(i)) yield return i;//符合条件的元素返回
    //        }
    //        yield break;//结束迭代
    //    }

    public class Program
    {
        public static Func<int,int, bool> gg;

        public static Action<int, int> gg2;

        public static void Main(string[] args)
        {
            int yc = 3;
            //gg += delegate(int x,int y) {return x > y; };
            //gg = (x, y) => { return x > y; };
            gg = (x, y) => x > y;
            bool kk = gg.Invoke(yc,13);
            Console.WriteLine(kk);
        }        

    }

    //}
}
